﻿#pragma once

//#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>	// 包含Windows头文件

#include <cmath>		// 包含数学函数头文件
#include <ctime>		// 包含数学函数头文件
#include <iostream>
#include <string>
#include <string_view>	// C++17 引入的字符串视图类型
#include <tuple>
#include <optional>		// C++17 引入的可选类型
#include <variant>		// C++17 引入的变体类型
#include <any>			// C++17 引入的任意类型
#include <fstream>		// 文件读写
#include <chrono>		// 时间
//#include <thread>		// 线程
#include <mutex>		// 互斥锁
#include <future>		// 异步编程
//#include <sstream>	// 字符串流
#include <vector>		// 动态数组

extern void test_return_value();

extern void test_optional();
extern void test_more_types();
extern void test_any_type();

extern void test_async_task();
extern void test_read_file();
extern void test_string_view();

extern void test_singleton();


// 宏定义
#define print_start(str) std::cout << " ----------------- " << str << " Start ------------------------\n";
#define print_end(str) std::cout << " ----------------- " << str << " End ------------------------\n\n\n";